package com.zy.service.bs;

import com.zy.entity.bs.Club;
import com.zy.entity.bs.CustomerClubApply;
import com.zy.pojo.query.bs.ClubQuery;
import com.zy.pojo.vos.bs.ClubSetWizardsVo;
import com.zy.pojo.vos.common.PageVo;
import com.zy.service.base.BaseService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ClubService extends BaseService<Club> {

	/**
	 * 分页
	 * 
	 * @param club
	 * @param start
	 * @param limit
	 * @return
	 */
	PageVo pageClub(ClubQuery clubQuery, Integer start, Integer limit);

	/**
	 * 新增
	 * 
	 * @param club
	 */
	void saveClub(List<MultipartFile> clubImgs,Club club);
	
	/**
	 * 新增
	 *
	 * @param club
	 */
	void saveClub(Club club);

	/**
	 * 更新
	 *
	 * @param club
	 */
	void updateClub(List<MultipartFile> clubImgs, Club club);

	/**
	 * 更新
	 *
	 * @param club
	 */
	void updateClub(Club club);

	/**
	 * 删除
	 * 
	 * @param id
	 */
	void removeClub(long id);

	/**
	 * 恢复
	 * 
	 * @param id
	 */
	void recover(long id);

	/**
	 * 获取首页热门俱乐部
	 * @param start
	 * @param limit
	 * @return
	 */
	PageVo pageClubForHomePage(Integer start, Integer limit);

	/**
	 * 保存/修改俱乐部设置向导
	 * @param clubSetWizardsVo
	 */
	void updateClubSetWizards(ClubSetWizardsVo clubSetWizardsVo);


    List<Club> getMyClub(Long userId);

    /**
     * 获取当前俱乐部信息
     * @param id
     * @return
     */
    Club getClubInfo(Long id);


    List<Club> getMyClubManager(Long userId);
}
